package com.example.lib_net

import retrofit2.http.Query
import javax.inject.Qualifier

/**
 * 注解相关知识：
 * 1.什么是元注解？ 注解其他自定义注解的注解（注解的太爷）
 * //Java中的五个元注解
 *  @Retention 声明注解的生命周期（Source,CLASS,RUNTIME）
 *  @Target 声明注释的作用目标（类名，方法名，参数）
 *  @Documented 声明帮助文档
 *  @Inherited 是否让其他注解继承
 *  @Repeatable 声明可以重复注解
 *
 *  定义方式：@interfoce
 *
 *
 *  //Kotlin中的元注解
 *  @Target 声明注解的作用目标（类名，方法名，参数）
 *  @Retention 声明注解的生命周期（Source,BINARY,RUNTIME）
 *  @Repeatable 声明可以重复注解
 *  @MustBeDocumented
 *
 *  @JvmStatic 静态
 *  @JvmOverloads 重载
 *  @JvmName 名称
 *  @JvmField 属性
 *
 *  定义方式：annotation class
 */

@Qualifier //声明依赖注入，用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpClientAnnotation

@Qualifier //声明依赖注入，用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpsClientAnnotation

@Qualifier //声明依赖注入，用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpRetrofitAnnotation

@Qualifier //声明依赖注入，用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpsRetrofitAnnotation